package main

import (
	"ServiceEdge/controllers/service"
	"fmt"
	"net/http"

	"github.com/gin-gonic/gin"
)

// 定义结构体表示JSON参数的格式
type MyJSON struct {
	Message string `json:"message"`
}

func main() {
	r := gin.Default()

	// 测试
	r.POST("/process-json", ProcessJSON)

	//创建pod到指定node
	r.POST("/api/create/pod/node", service.CreatePod)
	r.POST("/api/delete/node", service.DeleteNode)
	r.POST("/api/create/label/node", service.AddLabelToNode)
	r.POST("/api/remove/label/node", service.RemoveLabelFromNode)
	r.POST("/api/update/label/node", service.UpdateLabelOnNode)
	r.GET("/api/get/node", service.GetNodeMessage)
	// 启动服务器
	r.Run(":8080")
}

// 处理接收JSON参数的函数
func ProcessJSON(c *gin.Context) {
	var jsonData MyJSON

	// 解析JSON参数
	if err := c.ShouldBindJSON(&jsonData); err != nil {
		c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
		return
	}

	// 打印接收到的JSON数据
	fmt.Printf("Received JSON: %+v\n", jsonData)

	// 返回成功响应
	c.JSON(http.StatusOK, gin.H{"status": "success"})
}
